import openpyxl

# # 实例化一个空白的工作簿
# wb = openpyxl.Workbook()
# wb.save('my_demo.xlsx')

# # 加载一个已存在的工作簿
wb = openpyxl.load_workbook('my_test.xlsx')
# print(wb)
# print(wb.encoding)  # 获取文档的字符集编码
# print(wb.properties)  # 获取文档的元数据如标题，创建者，创建日期等

# # 获取所有工作表的名字
# print(wb.sheetnames)
# # 获取当前活动表，返回的是一个对象,根据工作簿实际的活动页面获取的
# print(wb.active)
# # 获取所有工作表对象
# sheets = wb.worksheets
# for sheet in sheets:
#     print(sheet.title)
# 创建工作表
# wb.create_sheet('abc')  # 默认加在最后面
# wb.create_sheet('bcd', 0)  # 加在第一个，传了工作表的索引位置
# wb.create_sheet('cde', -1)  # 倒数第二个，用-1
# print(wb.sheetnames)
# # 修改工作表的标签名
# wb.worksheets[0].title='66666'
# # 删除工作表
# wb.remove(wb['abc'])
# # 修改工作表标签颜色
# print(wb.active)
# wb.active.sheet_properties.tabColor='1072BA'
# # 复制工作表
# active_sheet = wb.active
# wb.copy_worksheet(active_sheet)
# # 获取工作表里面有效的行数
# print(wb.active.max_row)
# # 获取工作表中有效的列数
# print(wb.active.max_column)
# wb.save('my_test.xlsx')

# 获取到当前的活动表
active_sheet = wb.active

# 获取单元格对象
cell_d1 = active_sheet['D1']  # 单元格名字获取单元格对象
cell_d2 = active_sheet.cell(2, 4)  # 单元格坐标获取单元格对象
print(cell_d1)
print(cell_d2)
# print(cell_d1.value)  # 获取单元格内的内容
# 获取单元格属性
# # 单元格列索引
# print(cell_d1.col_idx)
# print(cell_d1.column)
# # 单元格行索引
# print(cell_d1.row)
# # 单元格列名
# print(cell_d1.column_letter)
# # 单元格的坐标
# print(cell_d1.coordinate)
# # 单元格数字类型
# # 默认是
# # n：数值
# # s：字符串
# # d：日期时间
# print(cell_d1.data_type)
# # 单元格编码格式，默认 utf-8
# print(cell_d1.encoding)
# # 是否有样式
# print(cell_d1.has_style)  # 默认样式是 Normal，如果是默认样式，返回False
# # 单元格样式
# print(cell_d1.style)
# # 单元格样式id
# print(cell_d1.style_id)
# # 修改单个单元格的内容
# cell_d1.value = '手机号'
# # sheet表最后空白行新增行数据
# active_sheet.append([5, "坚果", 18, 1888888888, "喀什难道就卡死", 155])
# wb.save('my_test.xlsx')

# # 单元格遍历
# values = active_sheet.values
# print(values)
# for value in values:
#     print(value)
# # 删除行
# active_sheet.delete_rows(7)
# # 删除列
# active_sheet.delete_cols(1)
# wb.save('my_test.xlsx')
